package cn.iocoder.yudao.module.apijson.framework;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

public class JSONParser implements apijson.JSONParser<JSONObject, JSONArray> {
    @Override
    public Object parse(Object json) {
        return JSON.parse((String) json);
    }

    @Override
    public JSONObject parseObject(Object json) {
        return JSONObject.parseObject(json.toString());
    }

    @Override
    public <T> T parseObject(Object json, Class<T> clazz) {
        return JSONObject.parseObject(json.toString(), clazz);
    }

    @Override
    public JSONArray parseArray(Object json) {
        return JSONArray.parseArray(json.toString());
    }

    @Override
    public <T> List<T> parseArray(Object json, Class<T> clazz) {
        return JSONArray.parseArray(json.toString(), clazz);
    }

    @Override
    public String toJSONString(Object obj, boolean format) {
        return JSONArray.toJSONString(obj, format);
    }

    @Override
    public JSONObject createJSONObject() {
        return new JSONObject();
    }

    @Override
    public JSONArray createJSONArray() {
        return new JSONArray();
    }
}
